package com.qiaofang.collectmanage.dao;

import com.qiaofang.collectmanage.dao.domain.ElementRule;
import com.qiaofang.collectmanage.stub.bean.ElementRuleDTO;
import com.qiaofang.collectmanage.stub.bean.SearchElementRulePostDTO;
import com.qiaofang.common.model.page.PageDTO;

import java.util.List;

public interface ElementRuleDao {

    public ElementRule getElementRuleById(Integer id);

    int updateElementRule(ElementRule elementRule);

    int removeElementRule(Integer id);

    List<ElementRule> listElementRule(ElementRule elementRule);

    void saveElementRule(ElementRule elementRule);

    public ElementRule getElementRule(ElementRule collecRule);

    List<ElementRule> searchElementRulePage(SearchElementRulePostDTO searchElementRulePostDTO, PageDTO page);

    Long countSearchElementRulePage(SearchElementRulePostDTO dto);

    List<ElementRule> getElementRuleByUUid(String uuid);

    int saveElementRuleBatch(List<ElementRule> elementRuleList);

    int maxDepth(ElementRule elementRule);

    List<Integer> findDepthsByUuid(String uuid);

    List<ElementRule> findByUuidAndDepth(String uuid, Integer depth);
}
